package it.traveldream.entities;

import it.traveldreamClient.beans.dto.RichiestaDTO;

import java.io.Serializable;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.OneToOne;

import org.eclipse.persistence.annotations.UuidGenerator;

/**
 * Entity implementation class for Entity: Richiesta
 *
 */
@Entity
@UuidGenerator(name="request")
public class Richiesta implements Serializable {

	   
	@Id
	@GeneratedValue(strategy=GenerationType.IDENTITY , generator="request")
	
	@Column(nullable = false)
	private String idRichiesta;
	
	@OneToOne
	@JoinColumn(name="idPaccPers")
	private Pacchetto_Personal PacchettoPersonalizzato;
	
	@OneToOne
	@JoinColumn(name="idMittente")
	private User Mittente;
	
	
	private int RichiesteAccettate;
	
	private static final long serialVersionUID = 1L;
	
	public Richiesta() {
		super();
	}   
	public Richiesta(RichiestaDTO rDTO){
		this.setRichiesteAccettate(rDTO.getRichiesteAccettate());
		
	}
	
	
	
	public String getIdRichiesta() {
		return idRichiesta;
	}
	public void setIdRichiesta(String idRichiesta) {
		this.idRichiesta = idRichiesta;
	}
	public Pacchetto_Personal getPacchettoPersonalizzato() {
		return PacchettoPersonalizzato;
	}
	public void setPacchettoPersonalizzato(
			Pacchetto_Personal pacchettoPersonalizzato) {
		PacchettoPersonalizzato = pacchettoPersonalizzato;
	}
	public User getMittente() {
		return Mittente;
	}
	public void setMittente(User Mittente) {
		this.Mittente = Mittente;
	}
	public int getRichiesteAccettate() {
		return RichiesteAccettate;
	}
	public void setRichiesteAccettate(int richiesteAccettate) {
		RichiesteAccettate = richiesteAccettate;
	}
	
	public RichiestaDTO getDTO() {
		RichiestaDTO v = new RichiestaDTO();
		
		v.setIdRichiesta(getIdRichiesta());
		v.setMailMittente(this.getMittente().getMail());
		v.setPkgPersonalizzato(this.getPacchettoPersonalizzato().getDTO());
		v.setRichiesteAccettate(this.getRichiesteAccettate());
		return v;
	}
   
   
}
